"PROFESSOR" BAILEE
Basic Artificial Intelligence Learning & Educating Experiment
     
programmed with Yabasic by Mark R. Scribner, markscribner@hotmail.com         
Professor Version 3.1, Released Feb. 4, 2001 

BAILEE is FREEWARE; No permissions or restrictions
If you like this program, don't send money; 
Instead go to mp3.com/risingpints
and listen to some great music for free. 
Buy an enhanced CD for only 6$!!
                       
This version includes the Free Online Dictionary of Computing (Dictionary.dat)
http://www.foldoc.org/     Editor: Denis Howe          

Also included is the FreeWare Say It 2000 program that provide a seperate speech
output when used in conjunction with BAILEE.

BAILEE READ ME CONTENTS
I. Some Background Info
II. What BAILEE Can Do
III. Some Hints For Talking with BAILEE
IV. What Bailee Doesn't Do
V. Description of the Files Included
VI. A Sample Conversations
VII. Installation, Bugs, Fixes, and Suggestions
VIII. Option Speech Synthesis
-----------------------
I. Some Background Info
-----------------------
The primary concept behind Bailee is to combine the basic elements of 
human language grammar with the basic way the human brain organizes, 
analyzes, and remembers information.

Version 3.0, "Professor" BAILEE incorporates a dictionary of computing
and computer technology to make Bailee an "expert" in computer science.
In addition V3.0 adds a more natural interface including color (BAILEE 
in light blue) and natural chat-typing presentation.


-----------------------
II. What BAILEE Can Do
-----------------------
BAILEE remembers everything it is told. Bailee can answer questions 
about things it has been told and respond to statements it is familar
with. Some basic "memories" are already included. If BAILEE is not
particularly interested by the input (as in a single word), it will 
respond with something its not so recent memory.

BAILEE knows who he is talking with at any given time. The user can be
changed while the program is running or by quitting and re-starting.
Bailee is able to recognize multiple users, tell about them, and
where there are located at last report. 

BAILEE will usually tell you if it knows something already or not. 
It also usually remembers what person or topic you are discussing, 
so the usage of pronouns such as 'she' or "it" is usually acceptable.

BAILEE will also usually ask for more information if something is unknown.
The following types of statements and questions are familar to BAILEE:

-Statements using various forms the verb "to be", "to do" & other verbs
-Questions using What, Who, Why, Where, and When
-Simple questions about date, time, and location
-Statements using common prepositions such as in, on, at, under, etc.
-Statements using time written as **:**.
-Misc. topics such as nature, science, animals, sports, hobbies, etc.
NEW TO VERSION 3.0
-Statements/questions relating to computers or technology
-Some statement involving pronouns and possesives
-Ability to stop at any time and listen (press any key)
-Some preset responses to typical personal questions
-Talking about ability("can"), possession("want") and other
 common expressions

INSTALLATION: To install BAILEE,double click on the setip.exe file and follow
the instructions.

--------------------------------------
III. Some Hints For Talking With BAILEE
--------------------------------------
Talk to BAILEE as you would a person, with a few exceptions and
conditions. Please use one sentence per input to BAILEE. Although
BAILEE does use contractions at times, please avoid them in your
sentences if possible.

TO CHANGE USER: Enter "Here's So-and-so." or
"I'd like you to meet So-and-so"

GET INFO: "What is..." or "Tell me about..."

TO QUIT: Enter "Bye" or ~quit"

--------------------------
IV. What Bailee Doesn't Do
--------------------------
Some of these are obvious, but I include them just to be clear. Below 
are things BAILEE will not do inherently, unless you teach it to.

-respond to or generate insults
-profess any particular likes or dislikes
-express any particular emotion or feeling
-many other things that real people do

BAILEE is not intended to try to fool the user it is a human, or to produce
particular amusing or bizarre phrases.Therefore, some might not find this 
program interesting. Rather it is an attempt to be a unique form of 
cognitive intelligence that is constantly evolving and unique
(a tall order in the ai world) BAILEE still has a long way to go!

------------------------------------
V. Description of the Files Included
------------------------------------
bailee.prg: 	the program file for BAILEE, in Yabasic code
		(alter if you like, at your own risk!)
memory.dat:	BAILEE's ongoing memory file
                (again, at your own risk!!)
backup.dat:	same as above, as a backup
                (replace memory.dat with this if you want to
                 reurn BAILEE's original memory state)
identity.dat	a file BAILEE uses to help deal with pronouns
comment.dat	some short words BAILEE uses at times
		(no risk if you change these!)
New to version 3.0:
lang.exe        Yabasic compiler used to read bailee.prg

SayIt2k.exe	A Freeware speech synthesis app from Say It
help.txt        Say It's help file

Generated Files:

say.txt		BAILEE's current statement
logtxt 		A log of everthing BAILEE says
-------------------------
VI. Sample Conversation I (from V2.9)
-------------------------
HELLO. MY NAME IS BAILEE. WHAT IS YOUR NAME?
?My name is Mark.
HELLO MARK. IT'S NICE TO MEET YOU.
?It's nice to meet you, too.
WELL.
?I am a teacher.
I DIDN'T KNOW THAT, MARK.
What are you?
I AM A COMPUTER PROGRAM. I USE LANGUAGE AND MEMORY PATTERNS TO EMULATE
HUMAN INTELLIGENCE.
Shiro is a cat.
I DIDN'T KNOW THAT MARK.
A CAT? SHIRO IS A CAT.
PLEASE EXPLAIN, MARK.
A cat is an animal.
I DIDN'T KNOW THAT, MARK.
AN ANIMAL? AN ANIMAL IS A LIFE FORM.
I'd like you to talk to Shiro.
HELLO SHIRO. IT'S NICE TO MEET YOU.
meow.
GOOD. ANIMALS ARE ACTIVE LIVING THINGS.
i am a cat.
YES, I KNOW YOU ARE A CAT.
Do you know Mark?
YES, I KNOW MARK.
tell me about mark.
MARK? MARK IS A TEACHER.
mark is a computer instructor.
A COMPUTER INSTRUCTOR? MARK IS A COMPUTER INSTRUCTOR.
PLEASE EXPLAIN, SHIRO.
i can't.
I DIDN'T KNOW THAT, SHIRO.
here's mark.
HELLO MARK. IT'S NICE TO TALK WITH YOU AGAIN.
What time is it?
IT IS NOW 18:13.
Bye for now, Bailee.
BYE, MARK. I'LL TALK WITH YOU AGAIN SOMETIME.

Sample Conversation II (from V3.0)
(continued)
How are you today Bailee?
FINE, THANK YOU. AND YOU?
Fine.
OKAY.
Who is Bill Gates?
BILL GATES? OF HARVARD AND ONE OF THE FIRST PROGRAMMERS TO OPPOSE
 {SOFTWARE PIRACY} ("OPEN LETTER TO HOBBYISTS," COMPUTER NOTES,
 FEBRUARY 3, 1976).
Hmmm.
WELL THEN. WHAT IS A LIFE FORM?
Tell ME about a life form.
A LIFE FORM? A LIFE FORM IS A LIVING THING?
Are you alive?
I AM AN ARTIFICIAL INTELLIGENCE PROGRAM.
What is artificial intelligence?
ARTIFICIAL INTELLIGENCE? MODEL ASPECTS OF HUMAN 
THOUGHT ON COMPUTERS...

---------------------------------
VII. Installation,Bugs, Fixes, and Suggestions
---------------------------------
To install BAILEE, unzip the ZIP file to produce the folder on your 
Desktop. Open the folder and double-click on setup.exe. Follow the
setup instructions.

I'd sure like to hear about any of it, so e-mail me at:
markscribner@hotmail.com
if you'd like to give a a bit for development costs,
check out www.mp3.com/RisingPints and listen to some great
tunes or buy a $5 CD instead. Much appreciated and enjoy!

---------------------------------
VII. Optional Speech Synthesis
---------------------------------

The Say It 2000 program has been added and will read BAILEE's
current output when the Say It program is open at the same time
as Bailee's program. You need to have Microsoft Speech Engine installed 
for this feature to work. MSE is available for free download from 
numerous places if you don't have it.
This feature is still experimental and therefore doesn't quite work 
seamlessly, as I wish it would. You must manually switch between the 
two programs using the mouse each time you want tomake BAILEE speak or 
then enter your text. Also, you must wait until BAILEE has finished
outputing his comments (or stop BAILEE by pressingany key) or the 
Speech will stop in the middle as it "catches up" with the text. I 
sure wish I could integrate this feature seamlessly, and
if anyone knows how, please contact me: markscribner@hotmail.com 